#pragma once
#include"head.h"

using namespace std;

size_t inString(const char* str, char var);//return var's position if it is contained in str, or 0 if not found(because the 0th point is occupied by the begining char
void initMap(const char* str, map<char, string>& map);//initiat the first and last vt map
void strUnion(string& dest, string& source);//append the diffrent element to the dest
void creatAxis(map<char, int>& m, const char* str);//creat a mapping relation between the Vt and numbers
void forward(char op, char current, size_t point, size_t line);
void backward(char op, char current, size_t point, size_t line);
void hitWrang();//exit
void reduction(string& buf);